Исходный текст
'-------------------------------------------------------------------
Set AcApp = GetObject(,"AutoCAD.Application.16")
If AcApp Is Nothing Then
MsgBox "Приложение не загруженно"
End If
Set Doc = AcApp.ActiveDocument
Set ModelSpace = Doc.ModelSpace
'Объявляем и заполняем стандартный VBS массив
Dim startPoint(2)
Dim endPoint(2)
startPoint(0) = 1.0
startPoint(1) = 1.0
startPoint(2) = 1.0
endPoint(0) = 2.0
endPoint(1) = 2.0
endPoint(2) = 2.0
'производим обратную конвертацию масива в формате VBS в типизированный массив формата VBA
'т.к функция Автокада ModelSpace.AddLine может принимать на вход только типизированный массив
Dim convArr1, convArr2
convArr1 = ThisApplication.Utility.VariantToArray(startPoint)
convArr2 = ThisApplication.Utility.VariantToArray(endPoint)
ModelSpace.AddLine convArr1, convArr2 '(функция отработала нормально. в противном случае - ошибка о несоответствии типов)
'-------------------------------------------------------------------
'Демонстрация преобразования типизированного массива в массив формата VBS
For Each entity In ModelSpace
If TypeName(entity) = "IAcadBlockReference" Then
Dim Attributes
Attributes = entity.GetAttributes 'Типизированный массив формата VBA
'Преобразовываем в формат VBS
Dim NewArray
NewArray = ThisApplication.Utility.ArrayToVariant(Attributes)
For Each arrElem In NewArray
MsgBox arrElem.ObjectName
next
End If
Next